草庐IT

git pull --rebase

全部标签

git - 如何在不需要强制推送的情况下使用 git rebase?

为了实现gitnirvana,我花了一天时间学习如何在我当前merge的情况下利用rebase。当运行我认为是git101流程(我在下面详细说明)时,我必须push--force将我的更改推回原点。我不是唯一一个-我知道这是覆盖地面(参见1、2、3、4、5),我理解技术原因为什么需要一个力量。我的问题是这个---有很多(很多)博客条目歌颂rebase以及它如何改变他们的生活(参见1、2、3、4列出一些),但是他们都没有提到push--force是他们流程的一部分。然而,几乎所有对现有stackoverflow问题的回答都会说“是的,如果你要rebase,你必须使用push--force

git - 在 rebase git branch 时更改时间戳

我在一个分支中重新组织了提交,然后才将其公开,导致提交的时间戳顺序困惑。我宁愿他们都在今天,中间只有几秒钟。显然这些时间戳也不会是正确的,但由于这是事情公开的时间,我更喜欢在时间方面混淆历史。那么我如何告诉git在rebase时创建新的时间戳? 最佳答案 使用--ignore-date:gitrebase--ignore-date 关于git-在rebasegitbranch时更改时间戳,我们在StackOverflow上找到一个类似的问题: https://

git - 在 rebase git branch 时更改时间戳

我在一个分支中重新组织了提交,然后才将其公开,导致提交的时间戳顺序困惑。我宁愿他们都在今天,中间只有几秒钟。显然这些时间戳也不会是正确的,但由于这是事情公开的时间,我更喜欢在时间方面混淆历史。那么我如何告诉git在rebase时创建新的时间戳? 最佳答案 使用--ignore-date:gitrebase--ignore-date 关于git-在rebasegitbranch时更改时间戳,我们在StackOverflow上找到一个类似的问题: https://

git - 错误 : Cannot pull with rebase: You have unstaged changes

我已经开始与几个friend合作开展一个项目,他们使用herokugit存储库。几天前我克隆了存储库,他们做了一些更改,所以我正在尝试获取最新的更新我按照此处所述运行了gitpull--rebase命令(这是正确的方法吗?):https://devcenter.heroku.com/articles/sharing#merging-code-changes我收到以下错误:$gitpull--rebaseCannotpullwithrebase:Youhaveunstagedchanges.Pleasecommitorstashthem.我的猜测是我弄乱了代码,现在它要我提交或丢弃(这是

git - 错误 : Cannot pull with rebase: You have unstaged changes

我已经开始与几个friend合作开展一个项目,他们使用herokugit存储库。几天前我克隆了存储库,他们做了一些更改,所以我正在尝试获取最新的更新我按照此处所述运行了gitpull--rebase命令(这是正确的方法吗?):https://devcenter.heroku.com/articles/sharing#merging-code-changes我收到以下错误:$gitpull--rebaseCannotpullwithrebase:Youhaveunstagedchanges.Pleasecommitorstashthem.我的猜测是我弄乱了代码,现在它要我提交或丢弃(这是

git - 当我所做的只是压缩提交时,为什么 git-rebase 会给我 merge 冲突?

我们有一个包含400多个提交的Git存储库,其中前几十个是大量反复试验。我们希望通过将许多提交压缩为单个提交来清理这些提交。自然,git-rebase似乎是要走的路。我的问题是它以merge冲突结束,而这些冲突并不容易解决。我不明白为什么应该有任何冲突,因为我只是在压缩提交(而不是删除或重新排列)。很可能,这表明我并不完全理解git-rebase如何进行挤压。这是我正在使用的脚本的修改版本:repo_squash.sh(这是实际运行的脚本):rm-rfrepo_squashgitclonereporepo_squashcdrepo_squash/GIT_EDITOR=../repo_s

git - 当我所做的只是压缩提交时,为什么 git-rebase 会给我 merge 冲突?

我们有一个包含400多个提交的Git存储库,其中前几十个是大量反复试验。我们希望通过将许多提交压缩为单个提交来清理这些提交。自然,git-rebase似乎是要走的路。我的问题是它以merge冲突结束,而这些冲突并不容易解决。我不明白为什么应该有任何冲突,因为我只是在压缩提交(而不是删除或重新排列)。很可能,这表明我并不完全理解git-rebase如何进行挤压。这是我正在使用的脚本的修改版本:repo_squash.sh(这是实际运行的脚本):rm-rfrepo_squashgitclonereporepo_squashcdrepo_squash/GIT_EDITOR=../repo_s

git - 使用 `git rebase` 更改旧提交消息

我正在尝试按照说明编辑旧的提交消息here.现在,当我尝试运行rebase-iHEAD~5时,它说interactiverebasealreadystarted。然后我尝试:gitrebase--continue但是得到这个错误:error:Refrefs/heads/masterisat7c1645b447a8ea86ee143dd08400710c419b945bbutexpectedc7577b53d05c91026b9906b6d29c1cf44117d6bafatal:Cannotlocktheref'refs/heads/master'.有什么想法吗?

git - 使用 `git rebase` 更改旧提交消息

我正在尝试按照说明编辑旧的提交消息here.现在,当我尝试运行rebase-iHEAD~5时,它说interactiverebasealreadystarted。然后我尝试:gitrebase--continue但是得到这个错误:error:Refrefs/heads/masterisat7c1645b447a8ea86ee143dd08400710c419b945bbutexpectedc7577b53d05c91026b9906b6d29c1cf44117d6bafatal:Cannotlocktheref'refs/heads/master'.有什么想法吗?

git - 如何在交互式编辑期间从 vim 内部中止 git rebase

当我进行交互式rebase时,例如gitrebase-iHEAD~3rebase交互式编辑器(在我的例子中是vim)打开让我编辑要rebase的提交pickc843ea2SetVimcolumnlimitto80(OSX)pickfc32eacAddBashaliasfor`pbcopy`(OSX)....如果我现在决定要中止rebase并使用:q退出vim,rebase无论如何都会开始。我在Windows上使用git版本1.9.0.msysgit.0。当然,我可以只删除所有pick行,但如果我重新设置更长的历史记录,可能需要做很多事情。还有别的办法吗?如何退出rebase交互式编辑器